﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Painel_Categoria : System.Web.UI.Page
{
    CategoriaDAL obj = new CategoriaDAL();
    List<CategoriaDAL> lst = new List<CategoriaDAL>();

    protected void Page_Load(object sender, EventArgs e)
    {
        verificaAcesso();
        exibeMensagemConfirmacao("");
        if (!IsPostBack)
        {
            carregaGrid(0);
            Panel2.Visible = false;
        }
    }
    public void carregaGrid(int n)
    {
        lst = CategoriaDAL.SelecionarTodos("");
        gvCategoria.DataSource = lst;
        gvCategoria.PageIndex = n;
        gvCategoria.DataBind();
    }
    protected void gvCategoria_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        carregaGrid(e.NewPageIndex);
    }

    protected void gvCategoria_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        Int32 idConversao = Convert.ToInt32(e.CommandArgument.ToString());
        if (e.CommandName == "Alterar")
        {
            carregaCampos(idConversao);
        }
        else if (e.CommandName == "Remover")
        {
            //if (Util.MSGBox.decisao("Tem certeza?") == "Yes")
            //{
            obj.Delete(idConversao);
            carregaGrid(gvCategoria.PageIndex);
            //}
        }
    }

    private void carregaCampos(int id)
    {
        Panel1.Visible = false;
        Panel2.Visible = true;
        if (id != 0)
        {
            obj.SelecionarPorID(id);
            txtIdCategoria.Text = obj.idCategoria.ToString();
            txtTitulo.Text = obj.Titulo.ToString();
            txtLink.Text = obj.Link.ToString();
            txtOrdem.Text = obj.Ordem.ToString();
            ddlAtivo.SelectedIndex = ddlAtivo.Items.IndexOf(ddlAtivo.Items.FindByValue(obj.Ativo.ToString()));
        }
        else
        {
            txtTitulo.Text = txtBusca.Text;
            txtIdCategoria.Text = "";
            txtLink.Text = "";
            txtOrdem.Text = "";
        }
    } // carregaCampos
    public void gravaCampos(Int32 id)
    {
        CategoriaDAL oObj = new CategoriaDAL();
        //oConv.idCategoria = id;
        oObj.Titulo = txtTitulo.Text;
        oObj.Link = txtLink.Text;
        oObj.Ordem = Convert.ToInt32 (txtOrdem.Text) ;
        oObj.Ativo = ddlAtivo.SelectedValue;
        oObj.idUpdate = 1;
        oObj.idCadastro = 1;
        oObj.DataUpdate = DateTime.Now.ToString("yyyy-MM-dd h:mm:ss");
        if (id == 0)
        {
            oObj.Insert();
            txtIdCategoria.Text = oObj.idCategoria.ToString();
        }
        else
        {
            oObj.Update(id);
        }

        exibeMensagemConfirmacao(oObj.msgRetorno);

    } // gravaCampos
    protected void btnBusca_Click(object sender, ImageClickEventArgs e)
    {
        if (txtBusca.Text != "")
        {
            lst = CategoriaDAL.SelecionarTodos(txtBusca.Text);
            gvCategoria.DataSource = lst;
            gvCategoria.DataBind();
        }
        else
        {
            exibeMensagemConfirmacao("Por Favor, preencha o campo!");
        }
    }
    protected void btnSalvar_Click(object sender, ImageClickEventArgs e)
    {
        if (txtIdCategoria.Text == "")
        {
            gravaCampos(0);
        }
        else
        {
            gravaCampos(Convert.ToInt32(txtIdCategoria.Text));
        }
    }
    protected void btnCancelar_Click(object sender, ImageClickEventArgs e)
    {
        Response.Redirect("Categoria.aspx");

    }

    public void exibeMensagemConfirmacao(string msg)
    {
        if (msg.Equals(""))
        {
            lblMensagem.Text = msg;
            lblMensagem.Visible = false;
        }
        else
        {
            lblMensagem.Text = msg;
            lblMensagem.Visible = true;
        }
    }
    protected void btnAdicionar_Click(object sender, ImageClickEventArgs e)
    {
        carregaCampos(0);
    }
    public void verificaAcesso()
    {
        if (Session["Logado"] != "Painel")
        {
            Response.Redirect("Login.aspx");
            Session.RemoveAll();
        }
    }
}